欧美一区2区三区4区公司二百,国产精品婷婷午夜在线观看,自拍偷拍亚洲精品,国产美女诱惑一区二区

如何在PostgreSQL上配置SSL

數據庫安全通常是組織最關心的問題之一。開箱即用的 PostgreSQL 不提供足夠的保護措施來確保數據保護和隱私。因此,需要采取額外措施來確保數據隱私和安全。為與服務器建立的連接啟用 SSL 身份驗證是確保數據隱私的方法之一。PostgreSQL 支持與數據庫服務器建立的 SSL 連接,從而確保客戶端和服務器之間交換的所有通信都是加密的。

使用MySQL命令行導出文件

在本教程中,我們將演示如何為 PostgreSQL 數據庫服務器啟用 SSL 連接。

第 1 步:安裝 PostgreSQL 服務器

首先,您需要在 Linux 系統上安裝 PostgreSQL 服務器。如果您的服務器上已經安裝了 PostgreSQL,請隨時跳到下一步。

在本指南中,我們將從在 Rocky Linux 8 上安裝最新版本的 PostgreSQL (PostgreSQL 14) 開始。

首先,通過 SSH 登錄到您的服務器。接下來,刷新存儲庫并將包升級到最新版本。

sudo dnf update

AppStream 存儲庫未提供最新版本的 PostgreSQL。要驗證這一點,請列出可用的 PostgreSQL 模塊。

dnf module list postgresql -y

如何在PostgreSQL上配置SSL

從上面的輸出來看,存儲庫提供的最新版本的 PostgreSQL 是 PostgreSQL 13.x。要安裝最新版本的 PostgreSQL,請將 PostgreSQL 存儲庫添加到您的系統。

sudo dnf install https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm -y

如何在PostgreSQL上配置SSL

接下來,禁用默認的 PostgreSQL 存儲庫:

sudo dnf module disable postgresql -qy

接下來,按如下方式安裝 PostgreSQL 14 Server 和客戶端。

sudo dnf install postgresql14 postgresql14-server -y

如何在PostgreSQL上配置SSL

此后,按如下方式初始化 PostgreSQL 數據庫。

sudo /usr/pgsql-14/bin/postgresql-14-setup initdb

如何在PostgreSQL上配置SSL

默認情況下,PostgreSQL 安裝在 Rocky Linux 上時不會自動啟動。因此,啟動數據庫服務。

$ sudo systemctl start postgresql-14

此外,使其在系統啟動時啟動。

$ sudo systemctl enable postgresql-14

要確認 PostgreSQL 服務正在運行,請執行以下命令:

$ sudo systemctl status postgresql-14

如何在PostgreSQL上配置SSL

上面的輸出確認 PostgreSQL 服務器已啟動并正在運行。默認情況下,PostgreSQL 偵聽端口 5432,您可以通過運行以下ss命令來確認這一點。

$ ss -pnltu | grep 5432

您應該得到以下輸出,確認一切正常。

如何在PostgreSQL上配置SSL

第 2 步:為 Postgres 用戶配置密碼

postgres安裝 PostgreSQL 時,會在系統中創建一個名為的默認用戶。這是一個超級用戶,擁有執行幾乎任何任務的訪問權限,包括管理數據庫、表、模式函數和 PostgreSQL 數據庫中的任何其他對象。

Postgres用戶使用ident認證方式,不設置密碼。出于安全原因,建議您設置密碼以防止潛在的違規行為。

為此,請切換到根用戶

$ sudo su

接下來,切換到postgres用戶。

$ su - postgres

切換到 PostgreSQL shell

$ psql

然后使用如圖所示的查詢設置postgres用戶密碼。ALTER

ALTER USER postgres WITH PASSWORD 'your-password'

如何在PostgreSQL上配置SSL

第 3 步:為 PostgreSQL 服務器生成 SSL 證書

要使 SSL 與 PostgreSQL 一起工作,您需要生成三個證書文件:

  • server.key - 這是私鑰文件
  • server.crt - 這是服務器證書文件
  • root.crt - 這是受信任的根證書

首先,將目錄更改為 PostgreSQL 的數據目錄,如圖所示。

cd /var/lib/pgsql/14/data

接下來,生成一個 2048 位的 AES 加密的 RSA 私鑰,如下所示。

openssl genrsa -aes128 2048 > server.key 

在創建私鑰期間,系統會提示您輸入密碼。輸入并確認。

您稍后可以通過運行以下命令確認密鑰存在:

ls -l | grep server.key

如何在PostgreSQL上配置SSL

私鑰有一個與之關聯的密碼。但是,為了進一步使用此密鑰,您需要刪除密碼。為此,請運行以下命令:

openssl rsa -in server.key -out server.key

如何在PostgreSQL上配置SSL

再一次,重新輸入密碼并按 ENTER。

第 4 步:應用所需的權限和所有權

為了增強安全性,您需要將私鑰的只讀權限分配給 root 用戶,如圖所示。

chmod 400 server.key

此外,將密鑰的所有權設置為 postgres 用戶和組。

chown postgres.postgres server.key

第 5 步:創建服務器證書文件

現在,根據私鑰生成一個自簽名證書文件。以下證書文件的有效期為 365 天。

# openssl req -new -key server.key -days 365 -out server.crt -x509 

該命令將要求您提供一些將合并到證書文件中的信息。因此,請相應地填寫所有詳細信息。

如何在PostgreSQL上配置SSL

由于您使用的是自簽名證書,因此您將通過制作服務器證書文件的副本將其用作受信任的根證書,如圖所示。

# cp server.crt root.crt

第 6 步:配置 PostgreSQL 以使用 SSL

下一步是配置 PostgreSQL 以使用 SSL。訪問postgresql.conf位于data?目錄內的配置文件。

$ sudo vim /var/lib/pgsql/14/data/postgresql.conf

在 下Connection Settings,找到listen_addresses參數并將其設置為允許來自所有外部主機的連接。

listen_addresses = '*'

在該SSL部分中,取消注釋以下參數并設置值,如下所示。

ssl = on
ssl_ca_file = 'root.crt'
ssl_cert_file = 'server.crt'
ssl_crl_file = ''
ssl_key_file = 'server.key'
ssl_ciphers = 'HIGH:MEDIUM:+3DES:!aNULL' # allowed SSL ciphers
ssl_prefer_server_ciphers = on

保存更改并退出文件。接下來,打開pg_hba.conf配置文件。這是 PostgreSQL 客戶端身份驗證配置文件,指定允許連接哪些主機以及如何對客戶端進行身份驗證。

$ sudo vim /var/lib/pgsql/14/data/pg_hba.conf

在 下IPv4 local connections,按如下方式修改該行以允許來自所有主機的連接。

host    all           all           0.0.0.0/0          md5

接下來,在文件末尾添加以下行以啟用 SSL 并允許來自所有主機的連接。

hostssl	 all         all          0.0.0.0/0    		md5

保存更改并退出配置文件。要使更改生效,請重新啟動 PostgreSQL。

$ sudo systemctl restart postgresql-14

如果啟用了 firewalld,請允許 Postgresql 服務,如圖所示

$ sudo firewall-cmd --add-service=postgresql --permanent 

$ sudo firewall-cmd --reload

步驟 7:測試 SSL 連接

此時,PostgreSQL 已配置為使用 SSL 進行遠程連接。為此,我們將使用用戶 postgres 登錄到數據庫服務器,如圖所示

psql -U postgres -p 5432 -h 45.79.192.104

-U標志表示我們用來訪問數據庫服務器的登錄用戶

-p標志指定 PostgreSQL 正在偵聽的端口(默認為 5432)

-h標志指定主機的 IP 地址。

下面的輸出確認 SSL 已啟用并且我們使用的是自簽名證書。

如何在PostgreSQL上配置SSL

結論

在本教程中,我們演示了如何使用自簽名 SSL 證書在 PostgreSQL Server 上啟用 SSL 支持。我們為 PostgreSQL 服務器上配置的所有數據庫和用戶啟用了 SSL 連接。服務器將偵聽默認 PostgreSQL 端口上的所有傳入連接,并要求客戶端使用 SSL。

文章鏈接: http://www.qzkangyuan.com/13097.html

文章標題:如何在PostgreSQL上配置SSL

文章版權:夢飛科技所發布的內容,部分為原創文章,轉載請注明來源,網絡轉載文章如有侵權請聯系我們!

聲明:本站所有文章,如無特殊說明或標注,均為本站原創發布。任何個人或組織,在未征得本站同意時,禁止復制、盜用、采集、發布本站內容到任何網站、書籍等各類媒體平臺。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。

給TA打賞
共{{data.count}}人
人已打賞
IDC云庫

理解Linux文件系統樹的完整指南

2022-11-24 11:20:38

IDC云庫

什么是瀏覽器劫持?網絡安全威脅比你想象的更狡猾

2022-11-24 11:43:47

0 條回復 A文章作者 M管理員
    暫無討論,說說你的看法吧
?
個人中心
購物車
優惠劵
今日簽到
有新私信 私信列表
搜索
主站蜘蛛池模板: 阿勒泰市| 兰坪| 恩施市| 灌阳县| 清水河县| 靖远县| 汾西县| 荃湾区| 江安县| 夏邑县| 玛多县| 滨州市| 汾西县| 包头市| 白河县| 交口县| 盘锦市| 新乡市| 新泰市| 湘潭市| 湟中县| 额济纳旗| 屏东市| 新巴尔虎右旗| 枣庄市| 剑阁县| 綦江县| 仙桃市| 金寨县| 苏尼特左旗| 洪雅县| 乾安县| 托里县| 连州市| 建平县| 都江堰市| 沂南县| 建水县| 泉州市| 美姑县| 北京市|